package com.mazaiting.redeye.base.module

import com.mazaiting.redeye.api.FaceApi
import com.mazaiting.redeye.api.FaceApiService
import com.mazaiting.redeye.api.UserApi
import com.mazaiting.redeye.api.UserApiService
import com.mazaiting.redeye.base.Config
import dagger.Module
import dagger.Provides
import retrofit2.Retrofit

/**
 * 提供 api
 */
@Module
class ApiModule {

    /**
     * 提供用户接口
     * 使用 Token 必须使用同一个 Retrofit
     * @param retrofit Retrofit 2.0
     */
    @Provides
    internal fun providedUserApis(retrofit: Retrofit): UserApi =
        UserApi.getInstance(
            retrofit.create(UserApiService::class.java)
        )

    /**
     * 提供图虫接口
     * @param builder 构造者
     */
    @Provides
    internal fun providedFaceApis(builder: Retrofit.Builder): FaceApi =
        FaceApi.getInstance(
            builder.baseUrl(Config.URL_FACE).build().create(FaceApiService::class.java)
        )
}
